The development of cloud computing brings new challenges to database technologies. Traditional database services suitable for servicing a single client or workstation have to evolve into cluster-level or even datacenter-level services. In order to manage and operate the vast amount of database instances involved in such high-level services, database flexible scheduling technology has been introduced and become an important technical solution for supporting a robust clouding computing environment.
In general, database flexible scheduling involves computing a distribution of database instances among database servers according to certain triggering conditions, constrains, and a predetermined scheduling goal. Database instances are then migrated to target database servers according to the computed distribution.
Existing database flexible scheduling technologies normally adopt an optimization approach, such as methods based on minimum cost. In such methods, one or more objective functions may be generated as the first step. Based on the objective functions and various constrains, an optimized scheduling strategy may be obtained through computing and searching for an optimized solution.
Existing database flexible scheduling technologies, however, have several disadvantages. First, the computational jitter is relatively large, which may cause instability of the database service. This is because the optimization-based methods may be sensitive to performance changes of database instances, causing recomputation of the objective functions and the corresponding scheduling strategy, which in turn may cause local or even global jitters, affecting the stability of the database service. Second, the cost of migration is normally quite significant. This is because the optimization-based scheduling methods aim to achieve an optimal distribution based on pure mathematical consideration, which would normally cause migration of a large number of database instances. Third, the computation is normally very complex and inefficient. As the number of the objective functions increases, the computation cost increases almost exponentially.